import type { PageRequestData, ResponseTableData, TableData } from "@@/apis/common"

export interface AgentViewInfo extends AgentBaseInfo {
  agent_files_path: string
}

export interface AgentBaseInfo {
  agent_id: string | undefined
  /** 智能体名称 */
  agent_name: string
  /** 智能体描述 */
  agent_describe: string
  /** 智能体类型 */
  agent_type: string
  /** 图片 */
  agent_image_id: string
  /** 支持阵营 1、红方2、蓝方3、红方或蓝方 */
  agent_support_side: string | number
  /** 其他参数 */
  [propNames: string]: any
}

export interface TableRequestData {
  /** 智能体类型 */
  agent_type?: string
  /** 智能体名称 */
  agent_name?: string
  /** 项目id */
  project_id?: string
}

export interface TrainAgentInfo {
  trained_agent_id: string
  base_agent_id: string
  trained_agent_name: string
  trained_agent_version: number
  trained_agent_reward: number
  selectId?: number
  trained_agent_files_path: string
  create_user: string
  create_time: string
}

// 智能体与训练
export interface AgentAndTrainInfo extends AgentBaseInfo {
  agent_id: string
  selectId?: number
  trained_agents: TrainAgentInfo[]
}

export interface PageTableRequestData extends TableRequestData, PageRequestData {
  search_key?: string
}
export interface AgentTableData extends AgentBaseInfo, TableData {
  agent_id: string
}
export type SearchAgentTableResponseData = ApiResponseData<ResponseTableData<AgentTableData>>
export type AgentInfoResponseData = ApiResponseData<AgentBaseInfo>
export type AgentViewInfoResponseData = ApiResponseData<AgentViewInfo>
export type AgentAndTrainResponseData = ApiResponseData<ResponseTableData<AgentAndTrainInfo>>
